<?xml version="1.0"?>
<Schema name="DtmFFSchema"
	xmlns="urn:schemas-microsoft-com:xml-data"
	xmlns:dt="urn:schemas-microsoft-com:datatypes" 
 	xmlns:fdt="x-schema:FDTDataTypesSchema.xml" 	
	xmlns:fftypes="x-schema:FdtFFDataTypesSchema.xml"
	xmlns:ffhse="x-schema:FdtFFHseCommunicationSchema.xml"
	xmlns:ffblock="x-schema:FdtFFBlockSchema.xml"
>

	<!--Definition of Attributes-->
	<AttributeType name="schemaVersion" dt:type="string" default="1.21"/>

	<!--Definition of Elements-->
	<ElementType name="blockList" content="eltOnly" model="open">
		<attribute type="fdt:nodeId" required="no"/>
		<element type="ffblock:BlockInformation" minOccurs="0" maxOccurs="*"/>
	</ElementType>
	<ElementType name="HSEDeviceInformation" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="ffhse:stateSMK" required="yes"/>
		<attribute type="ffhse:repeatTimeHSE" required="no"/>
		<attribute type="ffhse:duplicateDetectionState" required="no"/>
		<!-- Operational IP address -->
		<attribute type="fftypes:ip" required="no"/>
		<!-- IP address of the device that responded. -->
		<element type="fftypes:IP" minOccurs="1" maxOccurs="1"/>
		<element type="ffhse:DeviceInformation" minOccurs="1" maxOccurs="1"/>
		<element type="ffhse:RedundancyInformation" minOccurs="0" maxOccurs="1"/>
		<element type="ffhse:VersionInformation" minOccurs="0" maxOccurs="1"/>
	</ElementType>
	<ElementType name="FoundationFieldbusH1Device" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="fftypes:deviceType" required="yes"/>
		<!-- acts as PD-Tag -->
		<attribute type="fdt:tag" required="yes"/>
		<!-- Device ID -->
		<attribute type="fftypes:devID" required="yes"/>
		<element type="fftypes:VfdIdentification" minOccurs="1" maxOccurs="*"/>
		<element type="fftypes:DataLinkAddress" minOccurs="1" maxOccurs="1"/>
	</ElementType>
	<ElementType name="FoundationFieldbusHSEDevice" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="fftypes:deviceType" required="yes"/>
		<!-- acts as PD-Tag -->
		<attribute type="fdt:tag" required="yes"/>
		<!-- Device ID -->
		<attribute type="fftypes:devID" required="yes"/>
		<element type="fftypes:VfdIdentification" minOccurs="1" maxOccurs="*"/>
		<element type="HSEDeviceInformation" minOccurs="1" maxOccurs="1"/>
		<!-- H1 device - nodeId contains node address 
			HSE device - linkId = 0 nodeId = 0 selector = 2 -->
		<element type="fftypes:DataLinkAddress" minOccurs="1" maxOccurs="1"/>
	</ElementType>
</Schema>
